home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
8bit
/
cislib_b
/
tlgame.act
< prev
next >
Wrap
Text File
|
1995-04-22
|
10KB
|
382 lines
;***********************************
;* THREE LETTER GAME *
;* *
;* adapted for ACTION! *
;* by *
;* Gary Lee Evans *
;* San Jose, CA *
;***********************************
BYTE y1,y2,y3,c1,c2,c3,d1,d2,d3,
a,h,hits,flag,eflag,guesses,
time,time1,x
CARD j,l,s,t,a1,numwords
BYTE ARRAY words=[00
65 67 69 65 67 84 65 68 69 65 68 79 65 68 83 65 70 84 65 71 69
65 71 79 65 73 68 65 73 76 65 73 77 65 73 82 65 76 69 65 76 80
65 78 68 65 78 84 65 78 89 65 80 69 65 80 84 65 82 67 65 82 69
65 82 75 65 82 77 65 82 84 65 83 72 65 83 75 65 83 80 65 84 69
65 87 69 65 87 76 65 88 69 65 89 69 66 65 68 66 65 71 66 65 78
66 65 82 66 65 84 66 65 89 66 69 68 66 69 71 66 69 84 66 73 68
66 73 71 66 73 78 66 73 84 66 79 65 66 79 71 66 79 87 66 79 88
66 79 89 66 85 68 66 85 71 66 85 77 66 85 78 66 85 83 66 85 84
66 85 89 66 89 69 67 65 66 67 65 68 67 65 77 67 65 78 67 65 80
67 65 82 67 65 84 67 79 66 67 79 68 67 79 71 67 79 78 67 79 80
67 79 84 67 79 87 67 79 89 67 82 89 67 85 66 67 85 68 67 85 69
67 85 80 67 85 82 67 85 84 68 65 66 68 65 77 68 65 89 68 69 78
68 69 87 68 73 69 68 73 71 68 73 77 68 73 78 68 73 80 68 79 69
68 79 71 68 79 78 68 79 84 68 82 89 68 85 66 68 85 69 68 85 71
68 89 69 68 85 79 69 65 82 69 65 84 69 71 79 69 76 75 69 76 77
69 78 68 69 76 70 69 82 65 70 65 68 70 65 71 70 65 78 70 65 82
70 65 84 70 69 68 70 69 87 70 73 71 70 73 78 70 73 82 70 73 84
70 73 88 70 76 89 70 79 69 70 79 71 70 79 82 70 79 88 70 82 89
70 85 78 70 85 82 71 65 80 71 65 83 71 65 89 71 69 77 71 69 84
71 73 78 71 78 85 71 79 66 71 79 68 71 79 84 71 85 77 71 85 78
71 85 84 71 85 89 71 89 80 72 65 68 72 65 71 72 65 77 72 65 83
72 65 84 72 65 89 72 69 78 72 69 88 72 73 68 72 73 77 72 73 80
72 73 83 72 73 84 72 69 82 72 69 77 72 79 69 72 79 71 72 79 80
72 79 84 72 79 87 72 85 66 72 85 69 72 85 71 72 85 77 72 85 84
73 67 69 73 67 89 73 76 75 73 78 75 73 77 80 73 79 78 73 82 69
73 82 75 73 84 83 73 86 89 74 65 66 74 65 82 74 65 87 74 65 89
74 79 66 74 79 71 74 79 84 74 79 89 74 85 71 74 65 71 74 65 77
74 69 84 74 73 66 74 73 71 74 85 84 75 69 71 75 69 89 75 73 68
75 73 78 75 73 84 76 65 66 76 65 68 76 65 71 76 65 80 76 65 87
76 65 89 76 65 88 76 69 68 76 69 71 76 69 84 76 73 68 76 73 69
76 73 80 76 73 84 76 79 66 76 79 71 76 79 80 76 79 84 76 79 87
76 89 69 77 65 68 77 65 78 77 65 80 77 65 82 77 65 84 77 65 89
77 69 78 77 69 84 77 73 68 77 79 66 77 79 80 77 79 87 77 85 68
77 73 88 77 85 71 78 65 66 78 65 71 78 65 80 78 65 89 78 69 84
78 69 87 78 73 76 78 73 80 78 79 68 78 79 84 78 79 82 78 79 87
78 85 84 79 65 70 79 65 75 79 65 82 79 65 84 79 68 69 79 73 76
79 76 68 79 78 69 79 80 84 79 82 69 79 85 82 79 85 84 79 86 65
79 87 69 79 87 76 79 87 78 80 65 68 80 65 76 80 65 78 80 65 82
80 65 84 80 65 87 80 65 89 80 69 65 80 69 71 80 69 78 80 69 84
80 69 87 80 73 69 80 73 71 80 73 84 80 76 89 80 79 68 80 79 84
80 79 88 80 69 82 80 73 78 80 82 79 80 82 89 80 85 66 80 85 78
80 85 83 80 85 84 82 65 71 82 65 77 82 65 78 82 65 80 82 65 84
82 65 87 82 65 89 82 69 68 82 73 66 82 73 68 82 69 86 82 73 71
82 73 77 82 73 80 82 79 66 82 79 68 82 79 69 82 79 84 82 79 87
82 85 66 82 85 69 82 85 71 82 85 77 82 85 78 82 85 84 82 89 69
83 65 68 83 65 71 83 65 80 83 65 84 83 65 87 83 65 89 83 69 84
83 69 87 83 69 88 83 72 89 83 69 65 83 73 78 83 72 69 83 73 80
83 73 82 83 73 84 83 73 88 83 75 73 83 75 89 83 76 89 83 79 66
83 79 68 83 79 78 83 79 87 83 79 89 83 80 65 83 80 89 83 84 89
83 85 69 83 85 77 83 85 78 84 65 66 84 65 68 84 65 71 84 65 78
84 65 80 84 65 88 84 65 82 84 69 65 84 73 78 84 72 69 84 72 89
84 73 67 84 73 69 84 73 78 84 73 80 84 79 69 84 79 78 84 79 80
84 79 87 84 79 89 84 82 89 84 85 66 84 85 71 84 87 79 85 82 78
85 83 69 85 80 83 86 65 78 86 65 84 86 69 88 86 73 65 86 73 69
86 73 77 86 79 87 89 65 75 89 65 77 89 69 78 89 69 83 89 69 84
89 79 85 87 65 68 87 65 71 87 65 78 87 65 82 87 65 83 87 65 88
87 65 89 87 69 66 87 69 68 87 69 84 87 72 79 87 72 89 87 73 71
87 73 78 87 73 84 87 79 69 87 79 78 87 82 89 90 73 80 70 73 66
83 69 69 69 89 69 65 76 76]
CARD FUNC Delay(BYTE time)
BYTE time2
FOR time1=1 TO time
DO
FOR time2=1 TO 150
DO OD
Sound(0,time1,10,4)
OD
Sound(0,0,0,0)
RETURN (0)
BYTE FUNC Getkey()
DO
a=GetD(7)
IF a>64 AND a<91
THEN EXIT
FI
OD
RETURN(a)
PROC Guess()
; Allows you to enter a three
; letter word
DO
Position(x,23)
y1=Getkey() Put(y1)
y2=Getkey() Put(y2)
y3=Getkey() Put(y3)
a=GetD(7)
IF a=155 THEN
EXIT
FI
OD
RETURN
BYTE FUNC Checkit()
; Checks your input to make sure
; that you entered a legal word
flag=0
FOR a1=0 TO numwords*3 STEP 3
DO
IF words(a1+1)=y1
AND words(a1+2)=y2
AND words(a1+3)=y3
THEN flag=1
FI
OD
RETURN (flag)
BYTE FUNC Fighits()
; Checks to see how many letters
; match your word and computers
; word
h=0
IF y1=c1 AND
y2=c2 AND
y3=c3 THEN
RETURN (4)
FI
IF y1=c1 OR
y1=c2 OR
y1=c3 THEN
h==+1
FI
IF y2=c1 OR
y2=c2 OR
y2=c3 THEN
h==+1
FI
IF y3=c1 OR
y3=c2 OR
y3=c3 THEN
h==+1
FI
RETURN (h)
PROC Error()
eflag=1
FOR a=1 TO 6
DO
Position(2,23)
Print("SOMETHINGS WRONG !! ")
Delay(100)
Position(2,23)
Print("SOMETHINGS WRONG !! ")
Delay(50)
OD
Position(2,23)
Print("What's your secret word: ")
x=27
Guess()
a=Checkit()
IF a=0 THEN
Position(2,23)
Print("Illegal word - I had no chance")
Delay(250) Delay(250)
FI
IF a=1 THEN
Position(2,23)
Print("You gave a bad answer somewhere?")
Delay(250) Delay(250)
FI
RETURN
CARD FUNC Moveword(CARD s,CARD t)
BYTE c4,c5,c6
c1=words((t)*3+1)
c2=words((t)*3+2)
c3=words((t)*3+3)
c4=words((s-1)*3+1)
c5=words((s-1)*3+2)
c6=words((s-1)*3+3)
words((s-1)*3+1)=c1
words((s-1)*3+2)=c2
words((s-1)*3+3)=c3
words((t)*3+1)=c4
words((t)*3+2)=c5
words((t)*3+3)=c6
RETURN (0)
PROC Think()
j=0
l==-1
IF l<1 THEN Error() FI
DO
IF eflag=1 THEN EXIT FI
DO
j==+1
IF j-1=l THEN RETURN FI
c1=words((j-1)*3+1)
c2=words((j-1)*3+2)
c3=words((j-1)*3+3)
h=Fighits()
IF hits<>h THEN EXIT FI
OD
s=j t=l-1
Moveword(s,t)
l==-1
IF l<1 THEN Error() FI
IF eflag=1 THEN EXIT FI
flag=0
IF l>j-1 THEN flag=1
j==-1
FI
UNTIL flag=0
OD
RETURN
PROC Getword()
s=numwords
WHILE s>2
DO
t=Rand(s)+1
Moveword(s,t)
s==-2
OD
t=Rand(numwords)+1
d1=words(t*3+1)
d2=words(t*3+2)
d3=words(t*3+3)
RETURN
BYTE FUNC Main()
l=numwords
Getword()
guesses=0
DO
guesses==+1
DO
Position(2,23)
Print("Enter your guess: ")
x=20
Guess()
c1=d1
c2=d2
c3=d3
a=Checkit()
IF a=1 THEN EXIT FI
FOR a=1 TO 5
DO
Position(2,23)
Put(y1) Put(y2) Put(y3)
Print(" isn't a legal word")
Delay(100)
Position(2,23)
Put(y1+128) Put(y2+128)
Put(y3+128)
Delay(50)
OD
OD
Position(4,guesses+5)
Put(y1) Put(y2) Put(y3)
Print(" ")
hits=Fighits()
PrintB(hits)
IF hits=4 THEN RETURN(2) FI
Position(2,23)
Print("Okay.. ")
Delay(250)
y1=words((l-1)*3+1)
y2=words((l-1)*3+2)
y3=words((l-1)*3+3)
Position(2,23)
Print("My guess is: ")
Put(y1) Put(y2) Put(y3)
Position(26,guesses+5)
Put(y1) Put(y2) Put(y3)
Delay(